import math
t = int(input())
for _ in range(t):
n = int(input())
if n == 1:
print('1')
if n == 2:
print('2 1')
if n == 3:
print('3 1 2')
if n > 3:
arr = list(range(1, n+1))
if n % 2 == 0:
res = []
for i in range(0, len(arr)-1, 2):
res.append(arr[i+1])
res.append(arr[i])
print(' '.join(map(str, res)))
else:
res = []
for i in range(3, len(arr)-1, 2):
res.append(arr[i+1])
res.append(arr[i])
print('3 1 2 ' + ' '.join(map(str, res)))
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
int main(){
int t; cin>>t; while(t--){
int n; cin>>n;
vector <int> v;
int limit = (n/2)*2;
for(int i=0; i<n; i++){
int temp = i+1;
if(i<limit){
temp = ((i%2==0)? (temp+1): (temp-1));
}
v.push_back(temp);
}
if(n%2){
swap(v[v.size()-1], v[v.size()-2]);
}
for(auto i: v){
cout<<i<<' ';
}cout<<endl;
}
return 0;
}
450A - Jzzhu and Children | 546A - Soldier and Bananas |
32B - Borze | 1651B - Prove Him Wrong |
381A - Sereja and Dima | 41A - Translation |
1559A - Mocha and Math | 832A - Sasha and Sticks |
292B - Network Topology | 1339A - Filling Diamonds |
910A - The Way to Home | 617A - Elephant |
48A - Rock-paper-scissors | 294A - Shaass and Oskols |
1213A - Chips Moving | 490A - Team Olympiad |
233A - Perfect Permutation | 1360A - Minimal Square |
467A - George and Accommodation | 893C - Rumor |
227B - Effective Approach | 1534B - Histogram Ugliness |
1611B - Team Composition Programmers and Mathematicians | 110A - Nearly Lucky Number |
1220B - Multiplication Table | 1644A - Doors and Keys |
1644B - Anti-Fibonacci Permutation | 1610A - Anti Light's Cell Guessing |
349B - Color the Fence | 144A - Arrival of the General |